leaflet}
pour contrôler le monde
leaflet}?leaflet(df) %>%addTiles() %>%addCircles(lng = ~Long, lat =
~Lat,
...)~Long comme df$Long~Lat comme df$Latlibrary(dplyr)
library(leaflet)
# Creation du dataset
cities <- read.csv(textConnection("
City,Lat,Long,Pop
Luxembourg,49.611010,6.130870,23000
Trier,49.758487,6.645416,6570
Liege,50.629960,5.584612,3221
Bruxelles,50.833535,4.361996,5871
Esch-Sur-Alzette,49.494211,5.980375,9870
Remisch,49.541213,6.365443,3902
"))
# Ajout de l'info dans le popup
cities <- cities %>%
mutate(info = paste0('<b>Ville : </b>',City,
'<br><b>Clients : </b>',
formatC(Pop, big.mark = " ")))
# Creation carte
leaflet(cities) %>% addTiles() %>%
addCircles(lng = ~Long, lat = ~Lat,
weight = 1, radius = ~sqrt(Pop) *100,
popup = ~info)leaflet(polygon) %>%addTiles() %>%addPolygons( ...)library(rgdal)
library(sf)
# Lecture shp file
communes <- sf::st_read(dsn ="www/LIMADM_COMMUNES.shp", crs = 2169)
# Transformation en polygon
polygon <- st_transform(communes, "+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs")
# Creation carte
leaflet(polygon) %>%
addTiles() %>%
addPolygons( stroke = TRUE, weight = 0.5,
opacity = 0.5, fillOpacity = 0.3,
highlightOptions = highlightOptions(color = "white",
weight = 0,
bringToFront = TRUE)) df_polygon <- broom::tidy(polygon)pal <- colorNumeric(“Blues”, NULL)leaflet(df_polygon) %>%addTiles() %>%addPolygons(fillColor =~pal(pop), label = ~labels, ...) %>%addLegend(pal =pal, values = ~pop, ...)
# Deja fait
# communes <- rgdal::readOGR("/LIMADM_COMMUNES.shp")
# sp.communes <- spTransform(communes, "+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs")
# Conversion en dataset
df_polygon <- geojsonio::geojson_read("www/communes4326.geojson", what = "sp") %>%
broom::tidy(.x, region = "COMMUNE")
# Transformation
df_polygon %<>%
st_as_sf(coords = c("long", "lat")) %>%
group_by(id) %>%
summarise(geometry = st_combine(geometry)) %>%
st_cast("POLYGON") %>%
mutate(pop = abs(round(rnorm(124,1700,245))))
# Echelle de couleur
pal <- colorNumeric("Blues", NULL)
# Definir les labels
labels <- paste0("<b>",df_polygon$id, "</b><br>nb clients: ",
formatC(df_polygon$pop, big.mark = " ")) %>%
lapply(htmltools::HTML)
# Faire le graphique
leaflet(df_polygon) %>%
addTiles() %>%
addPolygons(stroke = FALSE, smoothFactor = 0.3, fillOpacity = 1,
fillColor = ~pal(pop),
label = ~labels ) %>%
addLegend(pal = pal, values = ~pop, opacity = 0.7,
title = 'Nombre de clients', position = "bottomright") leaflet}Merci pour votre attention